Current microprocessor based systems conventionally are coupled with a non-volatile memory that provides the operating code for the microprocessor. Data in the non-volatile memory may become corrupted. Current corrective methods require manual changes to the circuit board, such as the changing of resistors or jumpers, to reconfigure the system to correct the data corruption. After the hardware changes are made, the system must be rebooted so that the microprocessor may be reloaded with the correct code and data. Also, in current corrective methods, data corruption in the firmware of the non-volatile memory may not be immediately noticed by a user. This lack of noticeability may waste much time and effort from lost performance and troubleshooting to find the problem.
Therefore, it would be desirable to provide a microprocessor based system that automatically detects data corruption in a microprocessor.